package net.ericaro.neojavagen.expressions;

/**
 * <b>ReferenceTypeCastExpression</b> ::= "(" <{@link net .ericaro .neojavagen .types .ReferenceType ReferenceType}> ")" <
 * {@link net .ericaro .neojavagen .expressions .UnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus}>
 * 
 * @author eric@ericaro.net
 */
public class ReferenceTypeCastExpression extends net.ericaro.neojavagen.JavaPartComposition {
	private net.ericaro.neojavagen.types.ReferenceType referenceType;

	private net.ericaro.neojavagen.expressions.UnaryExpressionNotPlusMinus unaryExpressionNotPlusMinus;

	public ReferenceTypeCastExpression(net.ericaro.neojavagen.types.ReferenceType referenceType, net.ericaro.neojavagen.expressions.UnaryExpressionNotPlusMinus unaryExpressionNotPlusMinus) {
		super();
		this.referenceType = referenceType;
		this.unaryExpressionNotPlusMinus = unaryExpressionNotPlusMinus;
	}

	public net.ericaro.neojavagen.types.ReferenceType getReferenceType() {
		return referenceType;
	}

	public net.ericaro.neojavagen.expressions.UnaryExpressionNotPlusMinus getUnaryExpressionNotPlusMinus() {
		return unaryExpressionNotPlusMinus;
	}

	public void setReferenceType(net.ericaro.neojavagen.types.ReferenceType referenceType) {
		this.referenceType = referenceType;
	}

	public void setUnaryExpressionNotPlusMinus(net.ericaro.neojavagen.expressions.UnaryExpressionNotPlusMinus unaryExpressionNotPlusMinus) {
		this.unaryExpressionNotPlusMinus = unaryExpressionNotPlusMinus;
	}

	@Override
	public java.lang.String toString() {
		return print("(", referenceType, ")", unaryExpressionNotPlusMinus);
	}
}
